package com.zihan.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zihan.domain.dto.ProjectDTO;
import com.zihan.domain.entity.Project;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zihan.domain.entity.ProjectInvitation;
import com.zihan.domain.entity.ProjectMember;
import com.zihan.domain.entity.ProjectMilestone;
import com.zihan.domain.vo.InvitationVO;
import com.zihan.domain.vo.ProjectVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 科研项目表 Mapper 接口
 * </p>
 *
 * @author zhangzihan
 * @since 2025-10-20
 */
public interface ProjectMapper extends BaseMapper<Project> {

    // 获取当前老师项目列表
    List<ProjectVO> getList(ProjectDTO projectDTO, Page<Project> page);

    //项目成员列表
    List<ProjectMember> getMemberList(Long id);

    //项目节点列表
    List<ProjectMilestone> getMilestonList(Long projectId);

    // 获取学生自己的邀请列表
    List<InvitationVO> invitationsStudentList(ProjectDTO projectDTO, Page<ProjectInvitation> page);

    List<ProjectMilestone> getStudentMilestonList(@Param("projectId") Long id,@Param("currentId") Long currentId);
}
